
#ifndef __LOCAL_RESOLVER_H
#define __LOCAL_RESOLVER_H

#include "../db/ActorsDB.h"
#include "Resolver.h"

/** A resolver class that queries a local database to resolve. */
class LocalResolver : public Resolver
{
   public:
      LocalResolver(ActorsDB *iactorsdb, apr_pool_t *imp);
      ~LocalResolver();
      const char *get(const char *hierarchy);
      void renameActorID(const char *actorid, const char *actoralias);
   protected:
      const char *resolveName(const char *hierarchy);
      const char *resolveType(const char *hierarchy);
      const char *resolveProgress(const char *hierarchy);
      const char *resolveMetadata(const char *parent, const char *suffix);
      const char *resolveParent(const char *parent, const char *suffix);
      const char *resolveChildren(const char *parent, const char *suffix);
      /** The local actors database that is queried to resolve actor data. */
      ActorsDB *actorsdb;
};

#endif
